import java.util.*;
class Operation {
	String line = "\t 学号 \t 姓名 \t java \t math \t English \t SumScore \t AvgScore";
	public void print(Student[] arr){//打印学生相关信息
		System.out.println(line);
		for(int i=0;i<arr.length;i++){
			if(arr[i]!=null){
				arr[i].setSum();
				arr[i].setAvg();
				System.out.println(arr[i]);
			}
		}
	}
	public boolean exist(int num,Student stu){//判断学生是否存在
		if(stu!=null){
			if(stu.getNum()==num){
				return true;
			}
			else{
				return false;
			}
		}
		return false;
	}
	public int stunum(Student[] arr){//统计学生个数
		for(int i=0;i<arr.length;i++){
			if(arr[i]==null){
				return i;
			}
		}
		return 10000;
	}
	public void Create(int num,String name,Student[] arr){//添加学生
		Student stu = new Student();
		stu.setNum(num);
		stu.setName(name);
		int i = this.stunum(arr);
		if(i==10000){
			System.out.println("不能再添加学生了!");
		}
		else{
			arr[i]=stu;
		}
		this.print(arr);
	}
	public void input(int num,Student[] arr){//输入学生成绩
		for(int i=0;i<arr.length;i++){
			if(this.exist(num, arr[i])){
				Scanner in = new Scanner(System.in);
				System.out.println("请输入"+arr[i].getName()+"的java的成绩：");
				arr[i].setJava(in.nextInt());
				System.out.println("请输入"+arr[i].getName()+"的math的成绩：");
				arr[i].setmath(in.nextInt());
				System.out.println("请输入"+arr[i].getName()+"的English的成绩：");
				arr[i].setEnglish(in.nextInt());
				this.print(arr);
				return;
			}
		}
	}
	public void numfind(int num,Student[] arr){//按照学号查询学生
		for(int i=0;i<arr.length;i++){
			if(this.exist(num,arr[i])==true){
				System.out.println("这个学生存在！");
				System.out.println(line);
				System.out.println(arr[i]);
				return;
			}
		}
		System.out.println("没有这个学生");
	}
	public void update(int numexist,int num,String name,int java,int math,int English, Student[] arr){//修改学生基本信息
		for(int i=0;i<arr.length;i++){
			if(this.exist(numexist, arr[i])==true){
				arr[i].setNum(num);
				arr[i].setName(name);
				arr[i].setJava(java);
				arr[i].setmath(math);
				arr[i].setEnglish(English);
				System.out.println("修改学生信息成功！");
				this.print(arr);
				return;
			}
		}
		System.out.println("修改信息失败");
	}
	public void sumSort(Student[] arr){//根据总分排序
		for(int i=0;i<arr.length;i++){
			for(int j=i+1;j<arr.length;j++){
				if(arr[i]!=null&&arr[j]!=null){
					if(arr[i].getSum()<arr[j].getSum()){
						Student t = arr[i];
						arr[i] = arr[j];
						arr[j] = t;
					}
				}
			}
		}
		this.print(arr);
	}
	public void avgSort(Student[] arr){//根据平均分排序
		for(int i=0;i<arr.length;i++){
			for(int j=i+1;j<arr.length;j++){
				if(arr[i]!=null&&arr[j]!=null){
					if(arr[i].getAvg()<arr[j].getAvg()){
						Student t = arr[i];
						arr[i] = arr[j];
						arr[j] = t;
					}
				}
			}
		}
		this.print(arr);
	}
	public void danSort(int num,Student[] arr) { //根据单门课成绩进行排序
		if(num==1) { //java
			for(int i=0;i<arr.length;i++){
				for(int j=i+1;j<arr.length;j++){
					if(arr[i]!=null&&arr[j]!=null){
						if(arr[i].getJava()<arr[j].getJava()){
							Student t = arr[i];
							arr[i] = arr[j];
							arr[j] = t;
						}
					}
				}
			}
		}
		else if(num==2) { //math
			for(int i=0;i<arr.length;i++){
				for(int j=i+1;j<arr.length;j++){
					if(arr[i]!=null&&arr[j]!=null){
						if(arr[i].getmath()<arr[j].getmath()){
							Student t = arr[i];
							arr[i] = arr[j];
							arr[j] = t;
						}
					}
				}
			}
		}
		else if(num==3) { //English
			for(int i=0;i<arr.length;i++){
				for(int j=i+1;j<arr.length;j++){
					if(arr[i]!=null&&arr[j]!=null){
						if(arr[i].getEnglish()<arr[j].getEnglish()){
							Student t = arr[i];
							arr[i] = arr[j];
							arr[j] = t;
						}
					}
				}
			}
		}
		this.print(arr);
	}
}

